package behavioral.observer;

public class Test {
    //使用场景，，当采集程序 需要给我们推送消息的，他就会调用我们的回调接口，
    // 如果有多个地方需要调用（相关程序）。。 就要代理模式了，把多个地方调用程序注册到这个里面。
    public static void main(String[] args) {
        Course course  = new Course("java设计模式精讲");
        Teacher teacher1 = new Teacher("Alpha");
        Teacher teacher2 = new Teacher("Beta");
        Teacher2 teacher21 = new Teacher2();
        // 添加 要观察我的对象。   观察物体是对应几个观察者的
        course.addObserver(teacher1);
        course.addObserver(teacher2);
        course.addObserver(teacher21);

        // 业务逻辑代码
        Question question = new Question();
        question.setUserName("cxcx");
        question.setQuestionContent("java问题");
        course.productQuestion(course,question);

        Question question2 = new Question();
        question2.setUserName("axax");
        question2.setQuestionContent("java问题2");
        course.productQuestion(course,question2);
    }
}
